<template>
  <!-- 此页面专门用于上传表格的 -->
  <!-- Excel 导入功能组件 -->
  <upload-excel :on-success="handleSuccess" />
</template>

<script>
import { formatExcelDate } from '@/utils'
export default {
  name: 'Excel',
  methods: {
    // 导入成功以后的回调函数
    handleSuccess({ results, header }) {
      console.log(results) // 数组+对象(每个对象一行数据)
      // 目标: 把中文key数组对象, 转成英文key->发给后台
      // 思路:
      // 1. 准备一个中文: 英文的一一对应的对象
      // 2. 遍历对象里的每个中文key, 去上面对象换成英文value
      // 3. 用英文value作为新对象key, 原来读出的对象里value作为新对象的value
      const userRelations = {
        '入职日期': 'timeOfEntry',
        '手机号': 'mobile',
        '姓名': 'username',
        '转正日期': 'correctionTime',
        '工号': 'workNumber',
        '部门': 'departmentName',
        '聘用形式': 'formOfEmployment'
      }

      const newArr = []
      results.forEach(item => {
        const newObj = {}
        // Object.keys(item) 提取对象所有key字符串形成数组
        // ['入职日期', '姓名', '工号', '手机号', '转正日期']
        Object.keys(item).forEach(key => {
          const enKey = userRelations[key] // 换出英文的key字符串
          if (enKey === 'timeOfEntry' || enKey === 'correctionTime') {
            const time = formatExcelDate(item[key])
            newObj[enKey] = time
          } else {
            newObj[enKey] = item[key] // 把中文对象对应中文key的value取出, 赋予给新对象的英文key后面
          }
        })
        // 上面循环完一次, 组装好了一个英文key的完整对象
        newArr.push(newObj)
      })

      console.log(newArr)
    }

  }
}
</script>

<style lang="scss" scoped></style>
